﻿using AutoMapper;
using AutoMapperApp.Dtos;
using AutoMapperApp.Models;

namespace AutoMapperApp.Extensions
{
    public class StudentProfile : Profile
    {
        public StudentProfile()
        {
            // Mapping
            // 第一次参数是源类型（这里是Model类型），第二个参数是目标类型（这里是DTO类型）
           // CreateMap<StudentModel, StudentDto>().ReverseMap();


            // 使用自定义映射 Student类的ID映射到StudentDTO类的StudentID
            CreateMap<StudentModel, StudentDto>()
                .ForMember(destinationMember: des => des.StudentID,
                memberOptions: opt => { opt.MapFrom(mapExpression: map => map.ID); })
                  .ForMember(destinationMember: des => des.StudentName,
                memberOptions: opt => { opt.MapFrom(mapExpression: map => map.Name); })
                    .ForMember(destinationMember: des => des.StudentAge,
                memberOptions: opt => { opt.MapFrom(mapExpression: map => map.Age); }).ReverseMap();
        }
    }
}
